home *** CD-ROM | disk | FTP | other *** search
- global glDBase
-
- on ParseDatabaseOutline theMember
- outline = member(theMember).text
- groupList = [:]
- ImageList = []
- glDBase = [:]
- oldItemDelimiter = the itemDelimiter
- the itemDelimiter = TAB
- repeat with lineNum = the number of lines in outline down to 1
- if item 3 of line lineNum of outline <> EMPTY then
- itemHolder = item 3 of line lineNum of outline
- the itemDelimiter = ","
- repeat with itemNum = 1 to itemHolder.item.count
- add(ImageList, string(word 1 of item itemNum of itemHolder))
- end repeat
- the itemDelimiter = TAB
- end if
- if item 2 of line lineNum of outline <> EMPTY then
- tmp = []
- repeat with a = ImageList.count down to 1
- add(tmp, getAt(ImageList, a))
- end repeat
- ImageList = duplicate(tmp)
- addProp(groupList, item 2 of line lineNum of outline, ImageList)
- ImageList = []
- end if
- if item 1 of line lineNum of outline <> EMPTY then
- tmp = [:]
- repeat with b = groupList.count down to 1
- addProp(tmp, getPropAt(groupList, b), getAt(groupList, b))
- end repeat
- groupList = duplicate(tmp)
- addProp(glDBase, item 1 of line lineNum of outline, groupList)
- groupList = [:]
- end if
- end repeat
- tmp = [:]
- repeat with c = glDBase.count down to 1
- addProp(tmp, getPropAt(glDBase, c), getAt(glDBase, c))
- end repeat
- glDBase = duplicate(tmp)
- member(theMember.word[1] & "DBase").text = string(glDBase)
- the itemDelimiter = oldItemDelimiter
- end
-